Перейти к основному содержимому

Аутентификация во внешней базе данных

Расположение: Администрирование > Плагины > Аутентификация > Внешняя база данных

Этот метод использует таблицу внешней базы данных, чтобы проверить, действительны ли указанные имя пользователя (которое должно быть varchar) и пароль. Если пользователь в настоящее время не существует в Moodle, будет создана новая учётная запись, и информация будет скопирована из внешней базы данных.

Сопоставления полей

Это делается путём сопоставления полей в нижней части страницы аутентификации базы данных. Каждое поле данных в профиле пользователя имеет текстовое поле рядом с ним. Введите имя столбца во внешней базе данных, которое сопоставляется с полем данных профиля.

Обновление локальной учётной записи — Указывает, что внешние данные будут введены в соответствующее локальное поле.

  • При создании — указывает, что это произойдёт только при первоначальном входе в систему, когда учётная запись создаётся впервые.
  • При каждом входе — указывает, что изменения во внешних данных будут обновлены в соответствующем локальном поле Moodle при следующем входе пользователя в систему.

Обновление внешней учётной записи — Указывает как раз обратное, то есть изменения в локальном поле Moodle будут обновлять соответствующее поле во внешней базе данных.

  • Никогда — Указывает, что это отключено.
  • При обновлении — Позволяет это сделать, если изменение было произведено локально (вероятно, потребуется дополнительная настройка).

Заблокировать значение — Определяет только то, может ли локальный пользователь вносить изменения в поле Moodle, и не влияет на два вышеуказанных параметра.

  • Разблокировано — Пользователь может вносить изменения локально в поле Moodle (предположительно, даже если это противоречит внешней базе данных, при следующем входе в систему это снова изменится, если установлено обновление локальной учётной записи).
  • Заблокировано — Пользователь никогда не сможет вносить изменения.
  • Разблокировано, если пусто — Пользователь может вносить изменения только в том случае, если поле ещё не заполнено из внешней базы данных (это, по-видимому, означает, что пользователь может ввести что-либо в это поле только один раз и не может изменить это после сохранения).

Автоматическая синхронизация

Вышеописанный метод добавляет новых пользователей только при их входе в систему. Если вы хотите, чтобы учётные записи пользователей создавались в Moodle независимо от фактического входа в систему, вы должны включить задачу синхронизации пользователей auth_db (auth_db\task\sync_users) на странице Планировщик задач. По умолчанию это выполняется один раз в день, при необходимости можно настроить расписание для более частого запуска.

Если на вашем сайте есть пользовательские поля профиля, их также можно синхронизировать с помощью этой запланированной задачи.

Дополнительные примечания

Теперь можно использовать пароли с Salted Crypt для формата паролей при аутентификации во внешней базе данных из настройки формата пароля: dbsaltedcrypt.png

  • Сопоставление паролей в виде обычного текста теперь всегда учитывает регистр.
  • Сравнение хэшей sha1/md5 теперь не учитывает регистр (поскольку они являются шестнадцатеричными значениями).
  • Некоторые вещи, которые применяются к Загруженным пользователям, применяются и к внешней базе данных, но не все поля в Загруженных пользователях доступны для аутентификации во внешней базе данных. Единственные доступные поля — это поля, перечисленные в разделе сопоставления данных на странице администратора для подключения к внешней базе данных.
  • Обратите внимание, что для баз данных MySQL moodle будет хранить пользовательские поля даты профиля в поле bigint (в виде временной метки unix). Использование поля timestamp или datetime не будет работать.

См. также